package org.example.t5teste.pages;

import org.apache.tapestry5.annotations.IncludeStylesheet;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.example.t5teste.entities.Usuarios;
import org.example.t5teste.hibernates.UsuariosHome;
import org.example.t5teste.tools.Util;
import org.hibernate.Session;

@IncludeStylesheet("context:assets/layout.css")
public class Index {

	private String usuario;
	
	private String senha;
	
	@Persist("flash")
	private String msg;
	
	@InjectPage
	private RedefinirSenha esquecerSenha;
	
	@InjectPage
	private Portal portal;
	
	@Inject
	private Session session;
	
	Portal onSuccess() throws Exception {
		final UsuariosHome dao = new UsuariosHome(session);
		if(usuario != null && senha != null){
			Usuarios u = dao.isValidar(usuario, Util.encrypt(senha.getBytes(), "MD5"));
			if(u != null){
				if(u.isAtivo() != false){
					return portal;
				} else {
					msg = "Seu usuario está bloqueando pelo Administração de Sistema.";
				}
			} else {
				msg = "Informe o usuario ou senha está incorreto";
			}
		} else {
			msg = "Informe o usuario ou senha.";
		}
		return null;
		
		
//		final UsuariosHome dao = new UsuariosHome(session);
//		if(dao.isValidar(usuario, Util.encrypt(senha.getBytes(), "MD5")) != null){
//			if(dao.isValidar(usuario, Util.encrypt(senha.getBytes(), "MD5")).isAtivo() != false){
//				msg = "Sucesso";
//				return portal;
//			} else {
//				msg = "Seu usuario está bloqueando pelo administração de sistema.";
//			}
//		} else {
//			msg = "Não sucesso";
//		}
//		return null;
	}
	
	RedefinirSenha onActionFromEsquecerSenha(){
		esquecerSenha.limpar();
		return esquecerSenha;
	}

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
}
